Network booting is a process of booting a client computer from a network rather than a local drive. One such system is the Preboot Execution Environment (“PXE”) which is an environment to boot computers using a network interface card independently of available data storage devices, such as hard disks, or installed operating systems. Before deploying an image across the network from a server to a client it is important to know the client architecture as the image is based upon the client architecture.
The PXE specification version 2.1 (Sep. 20, 1999) only has a limited number of processor types that can be detected at the client and returned to the server. With the PXE 2.1 specification the following processors are detectable:
1. IA x86 PCreturn value = 02. NEC/PC98return value = 13. IA64return value = 24. DEC Alphareturn value = 35. ArcX86return value = 46. Intel Lean Clientreturn value = 5
Additionally, the PXE specification is no longer an active specification and has not been modified to reflect any of the new x86 64 bit processor types.
This creates difficulties in determining the correct processor type. For example, the new Intel 64 bit and the AMD 64 bit architectures which are the most common desktop and laptop processor types currently being sold are not on the list of detectable processors. Under PXE, the x86 processor architectures currently provided by original equipment manufacturers (OEM) will return x86 32 bit type of processor even though the real processor may be 64 bit.
One method to obtain the processor type information is by using the resident firmware code within the BIOS or EFI code on the PXE booting client. Modification to the BIOS or EFI firmware would need to be made to retrieve the processor type in the same way that PXE documentation specifies. The list of detected processor types could be modified by adding the 64 bit processor types to such list as industry standard identifiers. However, this requires a hardware change.